Clean up some uses of `Option::map` only for its side effects
authorBrian Koropoff <bkoropoff@gmail.com>
Sun, 5 Oct 2014 22:59:58 +0000 (15:59 -0700)
committerBrian Koropoff <bkoropoff@gmail.com>
Mon, 6 Oct 2014 03:17:25 +0000 (20:17 -0700)
src/cargo/core/resolver.rs
src/cargo/lib.rs
src/cargo/ops/cargo_generate_lockfile.rs
src/cargo/util/errors.rs

index 278fde481cb4d428f6ce0703a5387cdf2e40a41e..2d4b4d174963c6046b14cf0ad698983785a5e7d9 100644 (file)
@@ -97,9 +97,9 @@ pub struct EncodablePackageId {
 impl<E, S: Encoder<E>> Encodable<S, E> for EncodablePackageId {
     fn encode(&self, s: &mut S) -> Result<(), E> {
         let mut out = format!("{} {}", self.name, self.version);
-        self.source.as_ref().map(|s| {
-            out.push_str(format!(" ({})", s.to_url()).as_slice())
-        });
+        if let Some(ref s) = self.source {
+            out.push_str(format!(" ({})", s.to_url()).as_slice());
+        }
         out.encode(s)
     }
 }
index 87a495aff6a4b522f337a53628af2605c4bf3589..1ca101c913178f8de2c1f6a8f8f573eb0f2ac3bf 100644 (file)
@@ -3,6 +3,7 @@
 
 #![feature(macro_rules, phase)]
 #![feature(default_type_params)]
+#![feature(if_let)]
 #![deny(bad_style)]
 
 extern crate libc;
@@ -143,12 +144,11 @@ pub fn process_executed<'a,
                             shell: &mut MultiShell) {
     match result {
         Err(e) => handle_error(e, shell),
-        Ok(encodable) => {
-            encodable.map(|encodable| {
-                let encoded = json::encode(&encodable);
-                println!("{}", encoded);
-            });
+        Ok(Some(encodable)) => {
+            let encoded = json::encode(&encodable);
+            println!("{}", encoded);
         }
+        _ => {}
     }
 }
 
@@ -189,12 +189,12 @@ pub fn handle_error(err: CliError, shell: &mut MultiShell) {
         if unknown {
             let _ = shell.error(error.to_string());
         }
-        error.detail().map(|detail| {
+        if let Some(detail) = error.detail() {
             let _ = shell.err().say(format!("{}", detail), BLACK);
-        });
-        error.cause().map(|err| {
+        }
+        if let Some(err) = error.cause() {
             let _ = handle_cause(err, shell);
-        });
+        }
         Ok(())
       });
 
@@ -205,7 +205,9 @@ fn handle_cause(err: &CargoError, shell: &mut MultiShell) {
     let _ = shell.err().say("\nCaused by:", BLACK);
     let _ = shell.err().say(format!("  {}", err.description()), BLACK);
 
-    err.cause().map(|e| handle_cause(e, shell));
+    if let Some(e) = err.cause() {
+        handle_cause(e, shell)
+    }
 }
 
 pub fn version() -> String {
index f9cde510c6fe9fba6de3e756c162ab07d9afacbf..10095a69dbdd17c91613ac7e2f09fdf5bca97e30 100644 (file)
@@ -153,11 +153,11 @@ fn emit_package(dep: &toml::TomlTable, out: &mut String) {
     out.push_str(format!("name = {}\n", lookup(dep, "name")).as_slice());
     out.push_str(format!("version = {}\n", lookup(dep, "version")).as_slice());
 
-    dep.find(&"source".to_string()).map(|_| {
+    if dep.contains_key(&"source".to_string()) {
         out.push_str(format!("source = {}\n", lookup(dep, "source")).as_slice());
-    });
+    }
 
-    dep.find(&"dependencies".to_string()).map(|s| {
+    if let Some(ref s) = dep.find(&"dependencies".to_string()) {
         let slice = s.as_slice().unwrap();
 
         if !slice.is_empty() {
@@ -170,7 +170,7 @@ fn emit_package(dep: &toml::TomlTable, out: &mut String) {
             out.push_str("]\n");
         }
         out.push_str("\n");
-    });
+    }
 }
 
 fn lookup<'a>(table: &'a toml::TomlTable, key: &str) -> &'a toml::Value {
index 594ea8ad990dd13eaa5c7238f71f3e0f00fc104d..3653a491d25508eab0e2e354dde7be0f8097d53d 100644 (file)
@@ -179,7 +179,9 @@ impl Show for ProcessError {
             None => "never executed".to_string()
         };
         try!(write!(f, "{} (status={})", self.msg, exit));
-        self.output().map(|out| { let _ = write!(f, "{}", out); });
+        if let Some(out) = self.output() {
+            try!(write!(f, "{}", out));
+        }
         Ok(())
     }
 }